//
// Created by ftd on 2021/8/18.
// 网络消息协议
//

#ifndef DEMO_PROTOCOL_H
#define DEMO_PROTOCOL_H

// 消息事件id
enum MsgId: int8_t {
    kOpenRoom,
    kModifyRoom,
    kRestartRoom,
    kDeleteRoom,
    kCloseRoom,

    kMsgIdCnt,
};

// 消息头
struct MsgHead {
    // 消息id
    int msg_id;
    // 消息大小
    int msg_size;
};

// 模拟打开房间消息
struct OpenRoomOperate {
    // 房间id
    int room_id;
    // 进入最低分数限制
    int join_score_lower_limit;
    // 进入最低等级限制
    int join_level_lower_limit;
    // 桌子数量
    int tables_cnt;
    char open_info[100];
};

// 模拟修改房间消息
struct ModifyRoomOperate {
    // 房间id
    int room_id;
    // 进入最低分数限制
    int join_score_lower_limit;
    // 进入最低等级限制
    int join_level_lower_limit;
    char modify_info[90];
};

// 模拟重启房间消息
struct RestartRoomOperate {
    int room_id;
    char restart_info[80];
};

// 模拟删房间消息
struct DeleteRoomOperate {
    // 房间id
    int room_id;
    char delete_info[70];
};

// 模拟关房间消息
struct CloseRoomOperate {
    // 房间id
    int room_id;
    char close_info[60];
};

#endif //DEMO_PROTOCOL_H
